📜

[GMW87]How To Play Any Mental Game

1 Introduction

2 Preliminary Definitions

2.1 Notation and Conventions for Probabilistic Algorithms

notions

2.2 Game Networks and Distributed Algorithms

Probabilistic Distributed Alg.

2.3 Adversaries

Passive adversaries

Malicious Adv.

图灵游戏在any number of passive adv. or with n/2 malicious adv. 都是playable.

4 Hints on How to Play Hm-game With Passive Adversaries

4.1 A New and General OT Protocol

Our Protocol

为了简化处理,1-out-of-2 OT 中的msg只有1bit B不能预测另一个值,A不能预测B的选择。
  1. (A) randomly select a trap-door function keep f1f^{-1}secret and sends f to B
  1. (B) randomly selects x0,x1x_0, x_1 sends A the pair (u, v)
  1. (A)computes(c0, c1) use c to mask b and sends(d0, d1) to B
  1. (B)computes bαb_\alpha

4.2 Strengthening Yao's Combined Oblivious Transfer

COT

如果把a, b当作secrets,B obliviously transfer a prescribed combination of his and A's secret to A.

四行中只有一对的异或是密钥D5,其他都是密钥D6,解密0(AND gate) E1,E2,E5,E6和0,1的对应关系是public labelled E3,E4和0,1的关系是secretly labelled
  1. (B)generates a COT AND-gate keep all decoding alg. and all strings in the rows
  1. (B)gives A the second input-wire: b b可能是E3或E4,因为A不知道对应关系
  1. (A)get either D1, D2 according to value a by 1-out-of-2 OT, B will not know which alg. A got
  1. (A)easily compute the value of output-wire only A know AND(a,b)

4.3 The Tm-game Solver for passive adversaries

use CTO as a subrouting

[Ba]D. Barrington, Bounded-Width Branhing Program Recognize Exactly Those Languages in NC, Proc. 18th STOC, 1986 pp 1-5

用了一个symmetric group on 5 elements

in the program:

each party:

each variable σ\sigma:

通过以下指令,each party 可以计算最终结果的piece

Case 1: σc\sigma\cdot c

sigma is a variable and c is a constant
  1. (each party) has a piece: (x,σx)(x, \sigma_x)
  1. (party n) sets his new piece: (n,σnc)(n, \sigma_n\cdot c)
  1. (all each party) leaves his piece untouched
the ordered product of the new pieces is σc\sigma\cdot c pieces按照顺序的乘积

Case 2: σ1c\sigma^{-1}\cdot c

求逆是逆序求,所以index需要改变 求出σ1\sigma^{-1},再按照case 1的情况处理

Case 3: στ\sigma\cdot \tau

giving new pieces

move party 1's pieces closer by swaping 通过交换,让party 1的两个pieces靠近

σnτ1=τ1σn\sigma_n\tau_1=\tau_1'\sigma_n'

respect the privacy constraint use COT to achieve σnτ1=τ1σn\sigma_n\tau_1=\tau_1'\sigma_n'
  1. (party n)randomly selects a 5-permutation ρ\rho
    1. party 1 posesses: σ1,τ1\sigma_1,\tau_1
    1. party n posesses: σn,τn,ρ\sigma_n, \tau_n, \rho
  1. function g: for 5-permutations x, y and z g(x,(y,z))=wwhere wz=yxg(x,(y,z))=w \quad\text{where }wz=yx
  1. COT
    1. A(party 1): input a=τ1a=\tau_1
    1. B(party n): input b=(σn,ρ)b=(\sigma_n,\rho)
    1. A(party 1)'s output: g(a,b)g(a,b)
    1. B(party n)'s output: none
  1. set new pieces:
    1. party 1 : σ1,τ1=g(a,b)\sigma_1, \tau_1'=g(a,b)
    1. party n: σn=ρ,τn\sigma_n'=\rho,\tau_n
    1. τ1σn=g(a,b)ρ=σnτ1\tau_1'\sigma_n'=g(a,b)\cdot\rho=\sigma_n\tau_1

Analyze security informally

Complexity

End